<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>

        // *
        // **
        // ***
        // ****

        // 重复的打印星号和换行
        //  外层i 代表的就是行数
        for(var i = 0 ; i < 4 ; i++) {
            // 打印星号  j代表星星的个数
            for(var j = 0 ; j <= i ; j++) {
                document.write('*') ;
            }
            // 打印换行
            document.write('<br>') ;
        }


        // i 行数
        // i = 0
        //   j = 0  *
        //   j = 1
        //   br

        // i = 1
        //   j = 0 *
        //   j = 1 **
        //   j = 2
        //   br

        // i = 2
        //   j = 0 *
        //   j = 1 **
        //   j = 2 ***
        //   j = 3
        //   br

        // i = 3
         //   j = 0 *
        //   j = 1 **
        //   j = 2 ***
        //   j = 3 ****
        //   j = 4
        //   br

        // i = 4












        // *****
        // ****
        // ***
        // **
        // *

        // 外层写行数
        for(var i = 0 ; i < 5 ; i++) {
            // 打印多个星号  每一行少一个
            for(var j = 5 - i ; j > 0 ; j--) {
                document.write('$') ;
            }

            // 打印换行
            document.write('<br>') ;
        }




        // 11111
        // 21111
        // 22111
        // 22211
        // 22221

        // 分析：重复的输出2 ， 1 ，换行
        for(var i = 0 ; i < 5 ; i++) {
            // 输出2  1行0个   2行一个
            for(var j = 0 ; j < i ; j++) {
                document.write('&emsp;') ;
            }
            // 输出1
            for(var k = 5 - i ;k > 0 ; k--) {
                document.write('我');
            }
            // 输出换行
            document.write('<br>') ;
        }
 
        //    *
        //   * *
        //  * * *
        // * * * *

    </script>
    
</body>
</html>